For data storage devices that store encoded data, an apparatus is commonly provided for decoding the analog output or readback signal from the device to its digital representation. In one well known analog signal technique, analog signal amplitudes are utilized. Specifically, relatively large signal or voltage amplitudes, either positive or negative, represent a binary "1" while relatively smaller amplitudes represent a binary "0".
To convert these analog signals accurately into their corresponding binary or digital representation, at least one threshold value is provided and compared with the current signal amplitude. Based on the comparison, amplitudes above the threshold value are converted to a binary "1" and those below to a binary "0". Further, because of storage media variations that might arise during their manufacture, the analog readback signal can be such that, unless this threshold is varied, an accurate determination of whether a binary "1" or "0" is present cannot be made. Because of analog signal amplitude changes due to media defects or other reasons, the threshold value should be readily adaptable to change whenever there is a decreasing of the amplitudes known as signal "drop-out" or an increasing of the amplitudes known as signal "drop-in".
In one known digital technique for taking into account the fact that the analog readback signal amplitudes might appreciably change, reference values associated with an analog to digital converter (ADC) are varied. These reference values are applied to the numerous comparators found in the ADC. Depending upon the reference values, for a particular analog input, the ADC binary output may vary. For example, if signal drop-out occurs, the reference values would decrease thereby dynamically adjusting the ADC so that the digital output more accurately reflects the analog readback signal. However, this solution requires more hardware and is therefore expensive to implement.
In another digital technique that compensates for varying inputted analog signal amplitudes, threshold values associated with an inputted digital signal are varied. More specifically, in U.S. Pat. No. 4,945,538 to Patel, issued Jul. 31, 1990, and entitled "Method and Apparatus For Processing Sample Values In A Coded Signal Processing Channel", a decoder is disclosed that receives dynamically adjustable threshold values. The decoder relies on a state dependent look ahead technique to determine the most likely binary value to output and supplies an error correction capability if a previous decision is suspected to be incorrect. The threshold values used by the decoder can be continuously adjusted to fit the current digital samples. However, the decoder, including the equations and data tables upon which it is based, in determining the threshold values requires a fixed predetermined run length limited data format, in particular the (1,7) format. If the encoded data is in a different run length code format, the disclosed equations and data tables are not applicable.
From the foregoing it can be seen that there is a need for a less complex, relatively inexpensive apparatus for supplying such decoders with dynamically adjustable threshold values in which drop-in and drop-out of the analog signal can be handled properly. It would also be advantageous if such an apparatus for generating threshold values were not dependent on any specific data encoding format such as the run length limited encoding (1,7).